<html>
 <head>
  <meta charset="utf-8"/>
  <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport"/>
  <title>
   一篇文章透彻解读聚类分析及案例实操  | 数螺 | NAUT IDEA
  </title>
  <link href="http://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap-theme.min.css" rel="stylesheet"/>
  <link href="http://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
  <style type="text/css">
   #xmain img {
                  max-width: 100%;
                  display: block;
                  margin-top: 10px;
                  margin-bottom: 10px;
                }

                #xmain p {
                    line-height:150%;
                    font-size: 16px;
                    margin-top: 20px;
                }

                #xmain h2 {
                    font-size: 24px;
                }

                #xmain h3 {
                    font-size: 20px;
                }

                #xmain h4 {
                    font-size: 18px;
                }


                .header {
	           background-color: #0099ff;
	           color: #ffffff;
	           margin-bottom: 20px;
	        }

	        .header p {
                  margin: 0px;
                  padding: 10px 0;
                  display: inline-block;  
                  vertical-align: middle;
                  font-size: 16px;
               }

               .header a {
                 color: white;
               }

              .header img {
                 height: 25px;
              }
  </style>
  <script src="http://cdn.bootcss.com/jquery/3.0.0/jquery.min.js">
  </script>
  <script src="http://nautstatic-10007657.file.myqcloud.com/static/css/readability.min.js" type="text/javascript">
  </script>
  <script type="text/javascript">
   $(document).ready(function() {
                 var loc = document.location;
                 var uri = {
                  spec: "http://dataunion.org/23453.html",
                  host: "http://dataunion.org",
                  prePath: "http://dataunion.org",
                  scheme: "http",
                  pathBase: "http://dataunion.org/"
                 };
    
                 var documentClone = document.cloneNode(true);
                 var article = new Readability(uri, documentClone).parse();
     
                 document.getElementById("xmain").innerHTML = article.content;
                });
  </script>
  <!-- 1466459864: Accept with keywords: (title(0.166666666667):社区,数盟,案例,实操,文章,聚类分析, topn(0.466666666667):结点,平台,选项卡,数盟,信息,hadoop,类别,数据挖掘,聚类分析,缺失值,结果,Python,数据源,技术,文章,数目,节点,属性,变量,对象,步骤,用户,案例,算法,实例,数据,分类,方法,聚类,分布式).-->
 </head>
 <body onload="">
  <div class="header">
   <div class="container">
    <div class="row">
     <div class="col-xs-6 col-sm-6 text-left">
      <a href="/databee">
       <img src="http://nautidea-10007657.cos.myqcloud.com/logo_white.png"/>
      </a>
      <a href="/databee">
       <p>
        数螺
       </p>
      </a>
     </div>
     <div class="hidden-xs col-sm-6 text-right">
      <p>
       致力于数据科学的推广和知识传播
      </p>
     </div>
    </div>
   </div>
  </div>
  <div class="container text-center">
   <h1>
    一篇文章透彻解读聚类分析及案例实操
   </h1>
  </div>
  <div class="container" id="xmain">
   ﻿﻿
   <title>
    一篇文章透彻解读聚类分析及案例实操 | 数盟社区
   </title>
   <!-- All in One SEO Pack 2.2.7.6.2 by Michael Torbert of Semper Fi Web Design[32,64] -->
   <!-- /all in one seo pack -->
   <!--
<div align="center">
<a href="http://strata.oreilly.com.cn/hadoop-big-data-cn?cmp=mp-data-confreg-home-stcn16_dataunion_pc" target="_blank"><img src="http://dataunion.org/wp-content/uploads/2016/05/stratabj.jpg"/ ></a>
</div>
-->
   <header id="header-web">
    <div class="header-main">
     <hgroup class="logo">
      <h1>
       <a href="http://dataunion.org/" rel="home" title="数盟社区">
        <img src="http://dataunion.org/wp-content/themes/yzipi/images/logo.png"/>
       </a>
      </h1>
     </hgroup>
     <!--logo-->
     <nav class="header-nav">
      <ul class="menu" id="menu-%e4%b8%bb%e8%8f%9c%e5%8d%95">
       <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-71" id="menu-item-71">
        <a href="http://dataunion.org/category/events" title="events">
         活动
        </a>
        <ul class="sub-menu">
         <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22457" id="menu-item-22457">
          <a href="http://dataunion.org/2016timeline">
           2016档期
          </a>
         </li>
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-22459" id="menu-item-22459">
          <a href="http://dataunion.org/category/parterc">
           合作会议
          </a>
         </li>
        </ul>
       </li>
       <li class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor menu-item-has-children menu-item-20869" id="menu-item-20869">
        <a href="http://dataunion.org/category/tech" title="articles">
         文章
        </a>
        <ul class="sub-menu">
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-20867" id="menu-item-20867">
          <a href="http://dataunion.org/category/tech/base" title="base">
           基础架构
          </a>
         </li>
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-3302" id="menu-item-3302">
          <a href="http://dataunion.org/category/tech/ai" title="ai">
           人工智能
          </a>
         </li>
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-3303" id="menu-item-3303">
          <a href="http://dataunion.org/category/tech/analysis" title="analysis">
           数据分析
          </a>
         </li>
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-item-21920" id="menu-item-21920">
          <a href="http://dataunion.org/category/tech/dm">
           数据挖掘
          </a>
         </li>
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-3314" id="menu-item-3314">
          <a href="http://dataunion.org/category/tech/viz" title="viz">
           可视化
          </a>
         </li>
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-3305" id="menu-item-3305">
          <a href="http://dataunion.org/category/tech/devl" title="devl">
           编程语言
          </a>
         </li>
        </ul>
       </li>
       <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-20876" id="menu-item-20876">
        <a href="http://dataunion.org/category/industry">
         行业
        </a>
        <ul class="sub-menu">
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-16328" id="menu-item-16328">
          <a href="http://dataunion.org/category/industry/case" title="case">
           行业应用
          </a>
         </li>
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-2112" id="menu-item-2112">
          <a href="http://dataunion.org/category/industry/demo" title="demo">
           Demo展示
          </a>
         </li>
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-21562" id="menu-item-21562">
          <a href="http://dataunion.org/category/industry/news">
           行业资讯
          </a>
         </li>
        </ul>
       </li>
       <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-311" id="menu-item-311">
        <a href="http://dataunion.org/category/sources" title="sources">
         资源
        </a>
       </li>
       <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-20870" id="menu-item-20870">
        <a href="http://dataunion.org/category/books" title="book">
         图书
        </a>
       </li>
       <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-21363" id="menu-item-21363">
        <a href="http://dataunion.org/category/training">
         课程
        </a>
       </li>
       <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-21853" id="menu-item-21853">
        <a href="http://dataunion.org/category/jobs">
         职位
        </a>
        <ul class="sub-menu">
         <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-22050" id="menu-item-22050">
          <a href="http://dataunion.org/category/career">
           职业规划
          </a>
         </li>
        </ul>
       </li>
      </ul>
     </nav>
     <!--header-nav-->
    </div>
   </header>
   <!--header-web-->
   <div id="main">
    <div id="soutab">
     <form action="http://dataunion.org/" class="search" method="get">
     </form>
    </div>
    <div id="container">
     <nav id="mbx">
      当前位置：
      <a href="http://dataunion.org">
       首页
      </a>
      &gt;
      <a href="http://dataunion.org/category/tech">
       文章
      </a>
      &gt;
      <a href="http://dataunion.org/category/tech/dm">
       数据挖掘
      </a>
      &gt;  正文
     </nav>
     <!--mbx-->
     <article class="content">
      <header align="centre" class="contenttitle">
       <div class="mscc">
        <h1 class="mscctitle">
         <a href="http://dataunion.org/23453.html">
          一篇文章透彻解读聚类分析及案例实操
         </a>
        </h1>
        <address class="msccaddress ">
         <em>
          1,791 次阅读 -
         </em>
         <a href="http://dataunion.org/category/tech/dm" rel="category tag">
          数据挖掘
         </a>
        </address>
       </div>
      </header>
      <div class="content-text">
       <blockquote>
        <p>
         摘要：本文主要是介绍一下SAS的聚类案例，希望大家都动手做一遍，很多问题只有在亲自动手的过程中才会有发现有收获有心得。这里重点拿常见的工具SAS+R语言+Python介绍!
        </p>
       </blockquote>
       <p>
        1  聚类分析介绍
       </p>
       <p>
        1.1 基本概念
       </p>
       <p>
        聚类就是一种寻找数据之间一种内在结构的技术。聚类把全体数据实例组织成一些相似组，而这些相似组被称作聚类。处于相同聚类中的数据实例彼此相同，处于不同聚类中的实例彼此不同。聚类技术通常又被称为无监督学习，因为与监督学习不同，在聚类中那些表示数据类别的分类或者分组信息是没有的。
       </p>
       <p>
        通过上述表述，我们可以把聚类定义为将数据集中在某些方面具有相似性的数据成员进行分类组织的过程。因此，聚类就是一些数据实例的集合，这个集合中的元素彼此相似，但是它们都与其他聚类中的元素不同。在聚类的相关文献中，一个数据实例有时又被称为对象，因为现实世界中的一个对象可以用数据实例来描述。同时，它有时也被称作数据点(Data Point)，因为我们可以用r 维空间的一个点来表示数据实例，其中r 表示数据的属性个数。下图显示了一个二维数据集聚类过程，从该图中可以清楚地看到数据聚类过程。虽然通过目测可以十分清晰地发现隐藏在二维或者三维的数据集中的聚类，但是随着数据集维数的不断增加，就很难通过目测来观察甚至是不可能。
       </p>
       <p>
       </p>
       <center>
        <img src="http://www.afenxi.com/wp-content/uploads/2016/04/1459613153.png"/>
       </center>
       1.2 算法概述
       <p>
       </p>
       <p>
        目前在存在大量的聚类算法，算法的选择取决于数据的类型、聚类的目的和具体应用。大体上，主要的聚类算法分为几大类。
       </p>
       <p>
       </p>
       <center>
        <img src="http://www.afenxi.com/wp-content/uploads/2016/04/1459613154.png"/>
       </center>
       聚类算法的目的是将数据对象自动的归入到相应的有意义的聚类中。追求较高的类内相似度和较低的类间相似度是聚类算法的指导原则。一个聚类算法的优劣可以从以下几个方面来衡量：
       <p>
       </p>
       <p>
        (1)可伸缩性：好的聚类算法可以处理包含大到几百万个对象的数据集;
       </p>
       <p>
        (2)处理不同类型属性的能力：许多算法是针对基于区间的数值属性而设计的，但是有些应用需要针对其它数据类型(如符号类型、二值类型等)进行处理;
       </p>
       <p>
        (3)发现任意形状的聚类：一个聚类可能是任意形状的，聚类算法不能局限于规则形状的聚类;
       </p>
       <p>
        (4)输入参数的最小化：要求用户输入重要的参数不仅加重了用户的负担，也使聚类的质量
       </p>
       <p>
        难以控制;
       </p>
       <p>
        (5)对输入顺序的不敏感：不能因为有不同的数据提交顺序而使聚类的结果不同;
       </p>
       <p>
        (6)高维性：一个数据集可能包含若干维或属性，一个好的聚类算法不能仅局限于处理二维
       </p>
       <p>
        或三维数据，而需要在高维空间中发现有意义的聚类;
       </p>
       <p>
        (7)基于约束的聚类：在实际应用中要考虑很多约束条件，设计能够满足特定约束条件且具
       </p>
       <p>
        有较好聚类质量的算法也是一项重要的任务;
       </p>
       <p>
        (8)可解释性：聚类的结果应该是可理解的、可解释的，以及可用的。
       </p>
       <p>
        1.3 聚类应用
       </p>
       <p>
        在商业上，聚类分析被用来发现不同的客户群，并且通过购买模式刻画不同的客户群的特征。聚类分析是细分市场的有效工具，同时也可用于研究消费者行为，寻找新的潜在市场、选择实验的市场，并作为多元分析的预处理。在生物上，聚类分析被用来动植物分类和对基因进行分类，获取对种群固有结构的认识。在地理上，聚类能够帮助在地球中被观察的数据库商趋于的相似性。在保险行业上，聚类分析通过一个高的平均消费来鉴定汽车保险单持有者的分组，同时根据住宅类型，价值，地理位置来鉴定一个城市的房产分组。在因特网应用上，聚类分析被用来在网上进行文档归类来修复信息。在电子商务上，聚类分析在电子商务中网站建设数据挖掘中也是很重要的一个方面，通过分组聚类出具有相似浏览行为的客户，并分析客户的共同特征，可以更好的帮助电子商务的用户了解自己的客户，向客户提供更合适的服务。
       </p>
       <p>
        2  kmeans 算法
       </p>
       <p>
        2.1 基本思想
       </p>
       <p>
        划分聚类算法是根据给定的n 个对象或者元组的数据集，构建k 个划分聚类的方法。每个划分即为一个聚簇，并且k  n。该方法将数据划分为k 个组，每个组至少有一个对象，每个对象必须属于而且只能属于一个组。1该方法的划分采用按照给定的k 个划分要求，先给出一个初始的划分，然后用迭代重定位技术，通过对象在划分之间的移动来改进划分。
       </p>
       <p>
        为达到划分的全局最优，划分的聚类可能会穷举所有可能的划分。但在实际操作中，往往采用比较流行的k-means 算法或者k-median 算法。
       </p>
       <p>
        2.2 算法步骤
       </p>
       <p>
        k-means 算法最为简单，实现比较容易。每个簇都是使用对象的平均值来表示。
       </p>
       <p>
        步骤一：将所有对象随机分配到k 个非空的簇中。
       </p>
       <p>
        步骤二：计算每个簇的平均值，并用该平均值代表相应的值。
       </p>
       <p>
        步骤三：根据每个对象与各个簇中心的距离，分配给最近的簇。
       </p>
       <p>
        步骤四：转到步骤二，重新计算每个簇的平均值。这个过程不断重复直到满足某个准则函数或者终止条件。终止(收敛)条件可以是以下任何一个：没有(或者最小数目)数据点被重新分配给不同的聚类;没有(或者最小数目)聚类中心再发生变化;误差平方和(SSE)局部最小。
       </p>
       <p>
       </p>
       <center>
        <img src="http://www.afenxi.com/wp-content/uploads/2016/04/1459613155.png"/>
       </center>
       其中， k 表示需要聚集的类的数目， Cj表示第j 个聚类，mj表示聚类Cj的聚类中心，
       <p>
       </p>
       <p>
        dist表示数据点x 和聚类中心mj之间的距离。利用该准则可以使所生成的簇尽可能
       </p>
       <p>
        的紧凑和独立。
       </p>
       <p>
        SAS kmeans 实现主要是通过proc fastclus 过程实现，示例如下：
       </p>
       <blockquote>
        <p>
         proc import datafile=”E:\SAS\cars.txt” out=cars dbms=dlm replace;
        </p>
        <p>
         delimiter=’09’x;
        </p>
        <p>
         getnames=yes;
        </p>
        <p>
         run;
        </p>
        <p>
         proc print data=cars;
        </p>
        <p>
         run;
        </p>
        <p>
         proc standard data=cars out=stdcars mean=0 std=1;
        </p>
        <p>
         var Mpg Weight Drive_Ratio Horsepower Displacement;
        </p>
        <p>
         run;
        </p>
        <p>
         proc fastclus data=stdcars summary maxc=5 maxiter=99
        </p>
        <p>
         outseed=clusterseed out=clusterresult cluster=cluster least=2;
        </p>
        <p>
         id Car;
        </p>
        <p>
         var Mpg Weight Drive_Ratio Horsepower Displacement;
        </p>
        <p>
         run;
        </p>
       </blockquote>
       <p>
        2.3 算法分析
       </p>
       <p>
        k-means 算法对于大型的数据库是相对高效的，一般情况下结束于局部最优解。但是，k-means 算法必须在平均值有意义的情况下才能使用，对分类变量不适用，事先还要给定生成聚类的数目，对异常数据和数据噪声比较敏感，不能对非凸面形状的数据进行处理。另外，k-means 算法在聚类过程中可能有的聚类中心没有被分配任何数据而使得某些聚类变为空，这些聚类通常被称为空聚类。为了解决空聚类问题，我们可以选择一个数据点作为替代的聚类中心。例如，某一个含有大量数据的聚类的聚簇中心最远的数据点。如果算法的终止条件取决于误差平方和，具有最大误差平方和的聚类可以被用来寻找另外的聚类中心。
       </p>
       <p>
        3  层次聚类算法
       </p>
       <p>
        3.1 基本思想
       </p>
       <p>
        层次聚类主要有两种类型：合并的层次聚类和分裂的层次聚类。前者是一种自底向上的层次聚类算法，从最底层开始，每一次通过合并最相似的聚类来形成上一层次中的聚类，整个当全部数据点都合并到一个聚类的时候停止或者达到某个终止条件而结束，大部分层次聚类都是采用这种方法处理。后者是采用自顶向下的方法，从一个包含全部数据点的聚类开始，然后把根节点分裂为一些子聚类，每个子聚类再递归地继续往下分裂，直到出现只包含一个数据点的单节点聚类出现，即每个聚类中仅包含一个数据点。
       </p>
       <p>
        层次聚类技术是一种无监督学习的技术，因此可能没有确定的、一致的正确答案。正是由于这个原因，并且在聚类的特定应用的基础之上，可以设计出较少或较多数量的簇。定义了一个聚类层次，就可以选择希望数量的簇。在极端的情况下，所有的对象都自成一簇。在这样的情形下，聚类的对象之间非常相似，并且不同于其他的聚类。当然，这种聚类技术就失去了实际意义，因为聚类的目的是寻找数据集中的有意义的模式，方便用户理解，而任何聚类的数目和数据对象一样多的聚类算法都不能帮助用户更好地理解数据，挖掘数据隐藏的真实含义。这样，关于聚类的很重要的一点就是应该比原先的数据的数目更少的簇。到底要形成多少个聚类数目，要根据实际业务的理解，这是如何解释实际项目的事情。层次聚类算法的好处是它可以让用户从这些簇中选择所感兴趣的簇，这样更具有灵活性。
       </p>
       <p>
        层次聚类通常被看做成一棵树，其中最小的簇合并在一起创建下一个较高层次的簇，这一层次的簇再合并在一起就创建了再下一层次的簇。通过这样的过程，就可以生成一系列的聚类树来完成聚类。单点聚类处在树的最底层，在树的底层有一个根节点聚类。根节点聚类覆盖了全部数据节点，兄弟节点聚类则划分了它们共同的父节点中的所有的数据点。图1-5是采用统计分析软件SAS对Cars2数据集进行层次聚类的层次聚类结果图。通过该层次聚类树，用户可以选择查看在树的各个层次上的聚类情况。
       </p>
       <p>
        基于层次的聚类算法方法比较简单，但是缺乏伸缩性，一旦一个合并或者分裂被执行，就不能撤销。为了改进层次聚类的效果，可以将层次聚类算法和其他聚类算法结合使用，形成多阶段的聚类算法。
       </p>
       <p>
        3.2 算法步骤
       </p>
       <p>
        层次聚类(hierarchical clustering)算法递归的对对象进行合并或者分裂，直到满足某一终止条件为止。层次聚类分为两种，按自底向上层次分解称为聚合的层次聚类，反之，称为分解的层次聚类。层次聚类算法的计算复杂度为O(n2)，适合小型数据集的分类。
       </p>
       <p>
        CURE、ROCK、BIRCH和CHAMELEON是聚合层次聚类中最具代表性的方法。CURE(Clustering Using REpresentatives)算法采用了抽样和分区的技术，选择数据空间中固定数目的、具有代表性的一些点来代表相应的类，这样就可以识别具有复杂形状和不同大小的聚类，从而很好的过滤孤立点。ROCK(RObust Clustering using linKs)算法是对CURE算法的改进，除了具有CURE算法的一些优良特性外，还适用于类别属性的数据。BIRCH(Balanced Iterative Reducing and Clustering using Hierarchy)算法首次提出了通过局部聚类对数据库进行预处理的思想。CHAMELEON是Karypis等人1999年提出的，它在聚合聚类的过程中利用了动态建模技术。
       </p>
       <p>
        SAS实例
       </p>
       <blockquote>
        <p>
         options nocenter nodate pageno=1 linesize=132;
        </p>
        <p>
         title h = 1 j = l ‘File: cluster.mammalsteeth.sas’;
        </p>
        <p>
         title2 h = 1 j = l ‘Cluster Analysis of Mammals” teeth data’;
        </p>
        <p>
         data teeth;
        </p>
        <p>
         input mammal $ 1-16
        </p>
        <p>
         @wf0007 (v1-v8) (1.);
        </p>
        <p>
         label v1=’Top incisors’
        </p>
        <p>
         v2=’Bottom incisors’
        </p>
        <p>
         v3=’Top canines’
        </p>
        <p>
         v4=’Bottom canines’
        </p>
        <p>
         v5=’Top premolars’
        </p>
        <p>
         v6=’Bottom premolars’
        </p>
        <p>
         v7=’Top molars’
        </p>
        <p>
         v8=’Bottom molars’;
        </p>
        <p>
         cards;
        </p>
        <p>
         BROWN BAT 23113333
        </p>
        <p>
         MOLE 32103333
        </p>
        <p>
         SILVER HAIR BAT 23112333
        </p>
        <p>
         PIGMY BAT 23112233
        </p>
        <p>
         HOUSE BAT 23111233
        </p>
        <p>
         RED BAT 13112233
        </p>
        <p>
         PIKA 21002233
        </p>
        <p>
         RABBIT 21003233
        </p>
        <p>
         BEAVER 11002133
        </p>
        <p>
         GROUNDHOG 11002133
        </p>
        <p>
         GRAY SQUIRREL 11001133
        </p>
        <p>
         HOUSE MOUSE 11000033
        </p>
        <p>
         PORCUPINE 11001133
        </p>
        <p>
         WOLF 33114423
        </p>
        <p>
         BEAR 33114423
        </p>
        <p>
         RACCOON 33114432
        </p>
        <p>
         MARTEN 33114412
        </p>
        <p>
         WEASEL 33113312
        </p>
        <p>
         WOLVERINE 33114412
        </p>
        <p>
         BADGER 33113312
        </p>
        <p>
         RIVER OTTER 33114312
        </p>
        <p>
         SEA OTTER 32113312
        </p>
        <p>
         JAGUAR 33113211
        </p>
        <p>
         COUGAR 33113211
        </p>
        <p>
         FUR SEAL 32114411
        </p>
        <p>
         SEA LION 32114411
        </p>
        <p>
         GREY SEAL 32113322
        </p>
        <p>
         ELEPHANT SEAL 21114411
        </p>
        <p>
         REINDEER 04103333
        </p>
        <p>
         ELK 04103333
        </p>
        <p>
         DEER 04003333
        </p>
        <p>
         MOOSE 04003333
        </p>
        <p>
         ;
        </p>
        <p>
         proc princomp data=teeth out=teeth2;
        </p>
        <p>
         var v1-v8;
        </p>
        <p>
         run;
        </p>
        <p>
         proc cluster data=teeth2 method=average outtree=ttree
        </p>
        <p>
         ccc pseudo rsquare;
        </p>
        <p>
         var v1-v8;
        </p>
        <p>
         id mammal;
        </p>
        <p>
         run;
        </p>
        <p>
         proc tree data=ttree out=ttree2 nclusters=4;
        </p>
        <p>
         id mammal;
        </p>
        <p>
         run;
        </p>
        <p>
         proc sort data=teeth2;
        </p>
        <p>
         by mammal;
        </p>
        <p>
         run;
        </p>
        <p>
         proc sort data=ttree2;
        </p>
        <p>
         by mammal;
        </p>
        <p>
         run;
        </p>
        <p>
         data teeth3;
        </p>
        <p>
         merge teeth2 ttree2;
        </p>
        <p>
         by mammal;
        </p>
        <p>
         run;
        </p>
        <p>
         symbol1 c=black f=, v=’1′;
        </p>
        <p>
         symbol2 c=black f=, v=’2′;
        </p>
        <p>
         symbol3 c=black f=, v=’3′;
        </p>
        <p>
         symbol4 c=black f=, v=’4′;
        </p>
        <p>
         proc gplot;
        </p>
        <p>
         plot prin2*prin1=cluster;
        </p>
        <p>
         run;
        </p>
        <p>
         proc sort;
        </p>
        <p>
         by cluster;
        </p>
        <p>
         run;
        </p>
        <p>
         proc print;
        </p>
        <p>
         by cluster;
        </p>
        <p>
         var mammal prin1 prin2;
        </p>
        <p>
         run;
        </p>
       </blockquote>
       <p>
        4  SAS聚类分析案例
       </p>
       <p>
        1 问题背景
       </p>
       <p>
        考虑下面案例，一个棒球管理员希望根据队员们的兴趣相似性将他们进行分组。显然，在该例子中，没有响应变量。管理者希望能够方便地识别出队员的分组情况。同时，他也希望了解不同组之间队员之间的差异性。
       </p>
       <p>
        该案例的数据集是在SAMPSIO库中的DMABASE数据集。下面是数据集中的主要的变量的描述信息：
       </p>
       <p>
       </p>
       <center>
        <img src="http://www.afenxi.com/wp-content/uploads/2016/04/1459613155-1.png"/>
       </center>
       在这个案例中，设置TEAM，POSITION，LEAGUE，DIVISION和SALARY变量的模型角色为rejected，设置SALARY变量的模型角色为rejected是由于它的信息已经存储在LOGSALAR中。在聚类分析和自组织映射图中是不需要目标变量的。如果需要在一个目标变量上识别分组，可以考虑预测建模技术或者定义一个分类目标。
       <p>
       </p>
       <p>
        2 聚类方法概述
       </p>
       <p>
        聚类分析经常和有监督分类相混淆，有监督分类是为定义的分类响应变量预测分组或者类别关系。而聚类分析，从另一方面考虑，它是一种无监督分类技术。它能够在所有输入变量的基础上识别出数据集中的分组和类别信息。这些组、簇，赋予不同的数字。然而，聚类数目不能用来评价类别之间的近似关系。自组织映射图尝试创建聚类，并且在一个图上用图形化的方式绘制出聚类信息，在此处我们并没有考虑。
       </p>
       <p>
        1) 建立初始数据流
       </p>
       <p>
       </p>
       <center>
        <img src="http://www.afenxi.com/wp-content/uploads/2016/04/1459613156.png"/>
       </center>
       2) 设置输入数据源结点
       <p>
       </p>
       <p>
        打开输入数据源结点
       </p>
       <p>
        从SAMPSIO库中选择DMABASE数据集
       </p>
       <p>
        设置NAME变量的模型角色为id，TEAM，POSIOTION，LEAGUE，DIVISION和SALARY变量的模型角色为rejected
       </p>
       <p>
        探索变量的分布和描述性统计信息
       </p>
       <p>
        选择区间变量选项卡，可以观察到只有LOGSALAR和SALARY变量有缺失值。选择类别变量选项卡，可以观察到没有缺失值。在本例中，没有涉及到任何类别变量。
       </p>
       <p>
        关闭输入数据源结点，并保存信息。
       </p>
       <p>
        3) 设置替代结点
       </p>
       <p>
        虽然并不是总是要处理缺失值，但是有时候缺失值的数量会影响聚类结点产生的聚类解决方案。为了产生初始聚类，聚类结点往往需要一些完整的观测值。当缺失值太多的时候，需要用替代结点来处理。虽然这并不是必须的，但是在本例中使用到了。
       </p>
       <p>
        4) 设置聚类结点
       </p>
       <p>
        打开聚类结点，激活变量选项卡。K-means聚类对输入数据是敏感的。一般情况下，考虑对数据集进行标准化处理。
       </p>
       <p>
        在变量选项卡，选择标准偏差单选框
       </p>
       <p>
        选择聚类选项卡
       </p>
       <p>
        观察到默认选择聚类数目的方法是自动的
       </p>
       <p>
        关闭聚类结点
       </p>
       <p>
       </p>
       <center>
        <img src="http://www.afenxi.com/wp-content/uploads/2016/04/1459613157.png"/>
       </center>
       5) 聚类结果
       <p>
       </p>
       <p>
        在聚类结点处运行流程图，查看聚类结果。
       </p>
       <p>
       </p>
       <center>
        <img src="http://www.afenxi.com/wp-content/uploads/2016/04/1459613158.png"/>
       </center>
       6) 限定聚类数目
       <p>
       </p>
       <p>
        打开聚类结点
       </p>
       <p>
        选择聚类选项卡
       </p>
       <p>
        在聚类数目选择部分，点击选择标准按钮
       </p>
       <p>
        输入最大聚类数目为10
       </p>
       <p>
        点击ok，关闭聚类结点
       </p>
       <p>
       </p>
       <center>
        <img src="http://www.afenxi.com/wp-content/uploads/2016/04/1459613158-1.png"/>
       </center>
       7)结果解释
       <p>
       </p>
       <p>
        我们可以定义每个类别的信息，结合背景识别每个类型的特征。选择箭头按钮，
       </p>
       <p>
       </p>
       <center>
        <img src="http://www.afenxi.com/wp-content/uploads/2016/04/1459613159.png"/>
       </center>
       选择三维聚类图的某一类别，
       <p>
       </p>
       <p>
       </p>
       <center>
        <img src="http://www.afenxi.com/wp-content/uploads/2016/04/1459613160.png"/>
       </center>
       在工具栏选择刷新输入均值图图标，
       <p>
       </p>
       <p>
       </p>
       <center>
        <img src="http://www.afenxi.com/wp-content/uploads/2016/04/1459613161.png"/>
       </center>
       点击该图标，可以查看该类别的规范化均值图
       <p>
       </p>
       <p>
        同理，可以根据该方法对其他类别进行解释。
       </p>
       <p>
        8)运用Insight结点
       </p>
       <p>
        Insight结点可以用来比较不同属性之间的异常。打开insight结点，选择整个数据集，关闭结点。
       </p>
       <p>
        从insight结点处运行。
       </p>
       <p>
        变量_SEGMNT_标识类别，distance标识观测值到所在类别中心的距离。运用insight窗口的analyze工具评估和比较聚类结果。
       </p>
       <p>
        首先把_SEGMNT_的度量方式从interval转换成nominal。
       </p>
       <p>
       </p>
       <center>
        <img src="http://www.afenxi.com/wp-content/uploads/2016/04/1459613162.png"/>
       </center>
       <center>
        <img src="http://www.afenxi.com/wp-content/uploads/2016/04/1459613162-1.png"/>
       </center>
       <center>
        <img src="http://www.afenxi.com/wp-content/uploads/2016/04/1459613164.png"/>
       </center>
       <center>
        <img src="http://www.afenxi.com/wp-content/uploads/2016/04/1459613165.png"/>
       </center>
       <strong>
        R语言篇
       </strong>
       <p>
       </p>
       <p>
        以R基础包自带的鸢尾花(Iris)数据进行聚类分析。分析代码如下：
       </p>
       <blockquote>
        <p>
         ###### 代码清单 #######
        </p>
        <p>
         data(iris); attach(iris)
        </p>
        <p>
         iris.hc &lt;- hclust( dist(iris[,1:4]))
        </p>
        <p>
         # plot( iris.hc, hang = -1)
        </p>
        <p>
         plclust( iris.hc, labels = FALSE, hang = -1)
        </p>
        <p>
         re &lt;- rect.hclust(iris.hc, k = 3)
        </p>
        <p>
         iris.id &lt;- cutree(iris.hc, 3)
        </p>
        <p>
         table(iris.id, Species)
        </p>
        <p>
         ###### 运行结果 #######
        </p>
        <p>
         &gt; table(iris.id,Species)
        </p>
        <p>
         Species
        </p>
        <p>
         iris.id setosa versicolor virginica
        </p>
        <p>
         1 50 0 0
        </p>
        <p>
         2 0 23 49
        </p>
        <p>
         3 0 27 1
        </p>
       </blockquote>
       <p>
        聚类分析生成的图形如下：
       </p>
       <p>
       </p>
       <center>
        <img src="http://www.afenxi.com/wp-content/uploads/2016/04/1459613166.png"/>
       </center>
       结果表明，函数cuttree()将数据iris分类结果iris.hc编为三组分别以1,2, 3表示，保存在iris.id中。将iris.id与iris中Species作比较发现：1应该是setosa类，2应该是virginica类(因为virginica的个数明显多于versicolor)，3是versicolor。
       <p>
       </p>
       <p>
        仍以R基础包自带的鸢尾花(Iris)数据进行K-均值聚类分析，分析代码如下：
       </p>
       <blockquote>
        <p>
         ###### 代码清单 #######
        </p>
        <p>
         library(fpc)
        </p>
        <p>
         data(iris)
        </p>
        <p>
         df&lt;-iris[,c(1:4)]
        </p>
        <p>
         set.seed(252964) # 设置随机值，为了得到一致结果。
        </p>
        <p>
         (kmeans &lt;- kmeans(na.omit(df), 3)) # 显示K-均值聚类结果
        </p>
        <p>
         plotcluster(na.omit(df), kmeans$cluster) # 生成聚类图
        </p>
       </blockquote>
       <p>
        生成的图如下：
       </p>
       <p>
       </p>
       <center>
        <img src="http://www.afenxi.com/wp-content/uploads/2016/04/1459613167.png"/>
       </center>
       <strong>
        Python篇
       </strong>
       <p>
       </p>
       <p>
        Python运行条件：
       </p>
       <p>
        1.Python运行环境与编辑环境;
       </p>
       <p>
        2.Matplotlib.pyplot图形库，可用于快速绘制2D图表，与matlab中的plot命令类似，而且用法也基本相同。
       </p>
       <blockquote>
        <p>
         # coding=utf-8
        </p>
        <p>
         ##
        </p>
        <p>
         作者:Chan
        </p>
        <p>
         程序:kmeans算法
        </p>
        <p>
         ##
        </p>
        <p>
         import matplotlib.pyplot as plt
        </p>
        <p>
         import math
        </p>
        <p>
         import numpy
        </p>
        <p>
         import random
        </p>
        <p>
         #dotOringalNum为各个分类最初的大小
        </p>
        <p>
         dotOringalNum=100
        </p>
        <p>
         #dotAddNum最后测试点的数目
        </p>
        <p>
         dotAddNum=1000
        </p>
        <p>
         fig = plt.figure()
        </p>
        <p>
         ax = fig.add_subplot(111)
        </p>
        <p>
         sets=
        </p>
        <p>
         colors=[‘b’,’g’,’r’,’y’]
        </p>
        <p>
         #第一个分类，颜色为蓝色，在左下角
        </p>
        <p>
         a=
        </p>
        <p>
         txx=0.0
        </p>
        <p>
         tyy=0.0
        </p>
        <p>
         for i in range(0,dotOringalNum):
        </p>
        <p>
         tx=float(random.randint(1000,3000))/100
        </p>
        <p>
         ty=float(random.randint(1000,3000))/100
        </p>
        <p>
         a.append([tx,ty])
        </p>
        <p>
         txx+=tx
        </p>
        <p>
         tyy+=ty
        </p>
        <p>
         #ax.plot([tx],[ty],color=colors[0],linestyle=”,marker=’.’)
        </p>
        <p>
         #a的第一个元素为a的各个元素xy值之合
        </p>
        <p>
         a.insert(0,[txx,tyy])
        </p>
        <p>
         sets.append(a)
        </p>
        <p>
         #第二个分类，颜色为绿色，在右上角
        </p>
        <p>
         b=
        </p>
        <p>
         txx=0.0
        </p>
        <p>
         tyy=0.0
        </p>
        <p>
         for i in range(0,dotOringalNum):
        </p>
        <p>
         tx=float(random.randint(4000,6000))/100
        </p>
        <p>
         ty=float(random.randint(4000,6000))/100
        </p>
        <p>
         b.append([tx,ty])
        </p>
        <p>
         txx+=tx
        </p>
        <p>
         tyy+=ty
        </p>
        <p>
         #ax.plot([tx],[ty],color=colors[1],linestyle=”,marker=’.’)
        </p>
        <p>
         b.insert(0,[txx,tyy])
        </p>
        <p>
         sets.append(b)
        </p>
        <p>
         #第三个分类，颜色为红色，在左上角
        </p>
        <p>
         c=
        </p>
        <p>
         txx=0.0
        </p>
        <p>
         tyy=0.0
        </p>
        <p>
         for i in range(0,dotOringalNum):
        </p>
        <p>
         tx=float(random.randint(1000,3000))/100
        </p>
        <p>
         ty=float(random.randint(4000,6000))/100
        </p>
        <p>
         c.append([tx,ty])
        </p>
        <p>
         txx+=tx
        </p>
        <p>
         tyy+=ty
        </p>
        <p>
         #ax.plot([tx],[ty],color=colors[2],linestyle=”,marker=’.’)
        </p>
        <p>
         c.insert(0,[txx,tyy])
        </p>
        <p>
         sets.append(c)
        </p>
        <p>
         #第四个分类，颜色为黄色，在右下角
        </p>
        <p>
         d=
        </p>
        <p>
         txx=0
        </p>
        <p>
         tyy=0
        </p>
        <p>
         for i in range(0,dotOringalNum):
        </p>
        <p>
         tx=float(random.randint(4000,6000))/100
        </p>
        <p>
         ty=float(random.randint(1000,3000))/100
        </p>
        <p>
         d.append([tx,ty])
        </p>
        <p>
         txx+=tx
        </p>
        <p>
         tyy+=ty
        </p>
        <p>
         #ax.plot([tx],[ty],color=colors[3],linestyle=”,marker=’.’)
        </p>
        <p>
         d.insert(0,[txx,tyy])
        </p>
        <p>
         sets.append(d)
        </p>
        <p>
         #测试
        </p>
        <p>
         for i in range(0,dotAddNum):
        </p>
        <p>
         tx=float(random.randint(0,7000))/100
        </p>
        <p>
         ty=float(random.randint(0,7000))/100
        </p>
        <p>
         dist=9000.0
        </p>
        <p>
         setBelong=0
        </p>
        <p>
         for j in range(0,4):
        </p>
        <p>
         length=len(sets[j])-1
        </p>
        <p>
         centX=sets[j][0][0]/length
        </p>
        <p>
         centY=sets[j][0][1]/length
        </p>
        <p>
         if (centX-tx)*(centX-tx)+(centY-ty)*(centY-ty)
        </p>
       </blockquote>
       <p>
        运行效果:
       </p>
       <p>
       </p>
       <center>
        <img src="http://www.afenxi.com/wp-content/uploads/2016/04/1459613167-1.png"/>
       </center>
       <p>
       </p>
       <blockquote>
        <p>
         来源：天善问答社区
        </p>
        <p>
        </p>
       </blockquote>
       <p>
        武汉泰迪智慧科技有限公司 招聘信息
       </p>
       <h2>
        大数据架构师
       </h2>
       <p>
        12 – 22K武汉2人 全职
       </p>
       <p>
        岗位职责：
       </p>
       <ol>
        <li>
         主要负责企业级数据平台开发框架的设计. 性能调优. 数据流监控及日常维护；
        </li>
        <li>
         直接参与或指导开发人员基于框架进行海量数据的处理. 分析. 挖掘；
        </li>
        <li>
         负责开源大数据平台与产品和相关技术的追踪及研究；
        </li>
        <li>
         负责高并发. 大存储. 实时计算等技术攻关；
        </li>
        <li>
         负责大数据平台及产品研发团队的组织与管理，并进行相关技术培训；
        </li>
        <li>
         对前瞻创新技术进行应用型研究. 技术攻关。
        </li>
       </ol>
       <p>
       </p>
       <!-- Crayon Syntax Highlighter v_2.7.2_beta -->
       <div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-576866d5742e4789729648" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
        <div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
         <span class="crayon-title">
         </span>
         <div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
          <div class="crayon-button crayon-nums-button" title="切换是否显示行编号">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-plain-button" title="纯文本显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-wrap-button" title="切换自动换行">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-expand-button" title="点击展开代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-copy-button" title="复制代码">
           <div class="crayon-button-icon">
           </div>
          </div>
          <div class="crayon-button crayon-popup-button" title="在新窗口中显示代码">
           <div class="crayon-button-icon">
           </div>
          </div>
         </div>
        </div>
        <div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;">
        </div>
        <div class="crayon-plain-wrap">
         <textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;" wrap="soft">
          任职要求：
         </textarea>
        </div>
        <div class="crayon-main" style="">
         <table class="crayon-table">
          <tbody>
           <tr class="crayon-row">
            <td class="crayon-nums " data-settings="show">
             <div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;">
              <div class="crayon-num" data-line="crayon-576866d5742e4789729648-1">
               1
              </div>
             </div>
            </td>
            <td class="crayon-code">
             <div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
              <div class="crayon-line" id="crayon-576866d5742e4789729648-1">
               任职要求：
              </div>
             </div>
            </td>
           </tr>
          </tbody>
         </table>
        </div>
       </div>
       <!-- [Format Time: 0.0094 seconds] -->
       <p>
       </p>
       <ol>
        <li>
         <!-- Crayon Syntax Highlighter v_2.7.2_beta -->
         <div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-576866d5742f7878619169" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
          <div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
           <span class="crayon-title">
           </span>
           <div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
            <div class="crayon-button crayon-nums-button" title="切换是否显示行编号">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-plain-button" title="纯文本显示代码">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-wrap-button" title="切换自动换行">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-expand-button" title="点击展开代码">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-copy-button" title="复制代码">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-popup-button" title="在新窗口中显示代码">
             <div class="crayon-button-icon">
             </div>
            </div>
           </div>
          </div>
          <div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;">
          </div>
          <div class="crayon-plain-wrap">
           <textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;" wrap="soft">
            至少3年hadoop分布式平台工作经验，熟悉hadoop/hive/spark/storm/elasticsearch/redis/hbase/kafka/flume等；
           </textarea>
          </div>
          <div class="crayon-main" style="">
           <table class="crayon-table">
            <tbody>
             <tr class="crayon-row">
              <td class="crayon-nums " data-settings="show">
               <div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;">
                <div class="crayon-num" data-line="crayon-576866d5742f7878619169-1">
                 1
                </div>
               </div>
              </td>
              <td class="crayon-code">
               <div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
                <div class="crayon-line" id="crayon-576866d5742f7878619169-1">
                 至少
                 <span class="crayon-cn">
                  3
                 </span>
                 年
                 <span class="crayon-i">
                  hadoop
                 </span>
                 分布式平台工作经验，熟悉
                 <span class="crayon-v">
                  hadoop
                 </span>
                 <span class="crayon-o">
                  /
                 </span>
                 <span class="crayon-v">
                  hive
                 </span>
                 <span class="crayon-o">
                  /
                 </span>
                 <span class="crayon-v">
                  spark
                 </span>
                 <span class="crayon-o">
                  /
                 </span>
                 <span class="crayon-v">
                  storm
                 </span>
                 <span class="crayon-o">
                  /
                 </span>
                 <span class="crayon-v">
                  elasticsearch
                 </span>
                 <span class="crayon-o">
                  /
                 </span>
                 <span class="crayon-v">
                  redis
                 </span>
                 <span class="crayon-o">
                  /
                 </span>
                 <span class="crayon-v">
                  hbase
                 </span>
                 <span class="crayon-o">
                  /
                 </span>
                 <span class="crayon-v">
                  kafka
                 </span>
                 <span class="crayon-o">
                  /
                 </span>
                 <span class="crayon-i">
                  flume
                 </span>
                 等；
                </div>
               </div>
              </td>
             </tr>
            </tbody>
           </table>
          </div>
         </div>
         <!-- [Format Time: 0.0054 seconds] -->
        </li>
        <li>
         <!-- Crayon Syntax Highlighter v_2.7.2_beta -->
         <div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-576866d5742fe765130304" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
          <div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
           <span class="crayon-title">
           </span>
           <div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
            <div class="crayon-button crayon-nums-button" title="切换是否显示行编号">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-plain-button" title="纯文本显示代码">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-wrap-button" title="切换自动换行">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-expand-button" title="点击展开代码">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-copy-button" title="复制代码">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-popup-button" title="在新窗口中显示代码">
             <div class="crayon-button-icon">
             </div>
            </div>
           </div>
          </div>
          <div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;">
          </div>
          <div class="crayon-plain-wrap">
           <textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;" wrap="soft">
            熟悉分布式系统的设计和应用，熟悉分布式. 缓存. 消息. 负载均衡等机制和实现；
           </textarea>
          </div>
          <div class="crayon-main" style="">
           <table class="crayon-table">
            <tbody>
             <tr class="crayon-row">
              <td class="crayon-nums " data-settings="show">
               <div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;">
                <div class="crayon-num" data-line="crayon-576866d5742fe765130304-1">
                 1
                </div>
               </div>
              </td>
              <td class="crayon-code">
               <div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
                <div class="crayon-line" id="crayon-576866d5742fe765130304-1">
                 熟悉分布式系统的设计和应用，熟悉分布式
                 <span class="crayon-sy">
                  .
                 </span>
                 <span class="crayon-h">
                 </span>
                 缓存
                 <span class="crayon-sy">
                  .
                 </span>
                 <span class="crayon-h">
                 </span>
                 消息
                 <span class="crayon-sy">
                  .
                 </span>
                 <span class="crayon-h">
                 </span>
                 负载均衡等机制和实现；
                </div>
               </div>
              </td>
             </tr>
            </tbody>
           </table>
          </div>
         </div>
         <!-- [Format Time: 0.0010 seconds] -->
        </li>
        <li>
         <!-- Crayon Syntax Highlighter v_2.7.2_beta -->
         <div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-576866d574304642293370" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
          <div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
           <span class="crayon-title">
           </span>
           <div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
            <div class="crayon-button crayon-nums-button" title="切换是否显示行编号">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-plain-button" title="纯文本显示代码">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-wrap-button" title="切换自动换行">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-expand-button" title="点击展开代码">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-copy-button" title="复制代码">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-popup-button" title="在新窗口中显示代码">
             <div class="crayon-button-icon">
             </div>
            </div>
           </div>
          </div>
          <div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;">
          </div>
          <div class="crayon-plain-wrap">
           <textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;" wrap="soft">
            有Hadoop集群搭建、管理和优化；
           </textarea>
          </div>
          <div class="crayon-main" style="">
           <table class="crayon-table">
            <tbody>
             <tr class="crayon-row">
              <td class="crayon-nums " data-settings="show">
               <div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;">
                <div class="crayon-num" data-line="crayon-576866d574304642293370-1">
                 1
                </div>
               </div>
              </td>
              <td class="crayon-code">
               <div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
                <div class="crayon-line" id="crayon-576866d574304642293370-1">
                 有
                 <span class="crayon-i">
                  Hadoop
                 </span>
                 集群搭建、管理和优化；
                </div>
               </div>
              </td>
             </tr>
            </tbody>
           </table>
          </div>
         </div>
         <!-- [Format Time: 0.0066 seconds] -->
        </li>
        <li>
         <!-- Crayon Syntax Highlighter v_2.7.2_beta -->
         <div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-576866d57430a308263000" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
          <div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
           <span class="crayon-title">
           </span>
           <div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
            <div class="crayon-button crayon-nums-button" title="切换是否显示行编号">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-plain-button" title="纯文本显示代码">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-wrap-button" title="切换自动换行">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-expand-button" title="点击展开代码">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-copy-button" title="复制代码">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-popup-button" title="在新窗口中显示代码">
             <div class="crayon-button-icon">
             </div>
            </div>
           </div>
          </div>
          <div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;">
          </div>
          <div class="crayon-plain-wrap">
           <textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;" wrap="soft">
            对大数据充满热情善于解决问题
           </textarea>
          </div>
          <div class="crayon-main" style="">
           <table class="crayon-table">
            <tbody>
             <tr class="crayon-row">
              <td class="crayon-nums " data-settings="show">
               <div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;">
                <div class="crayon-num" data-line="crayon-576866d57430a308263000-1">
                 1
                </div>
               </div>
              </td>
              <td class="crayon-code">
               <div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
                <div class="crayon-line" id="crayon-576866d57430a308263000-1">
                 对大数据充满热情善于解决问题
                </div>
               </div>
              </td>
             </tr>
            </tbody>
           </table>
          </div>
         </div>
         <!-- [Format Time: 0.0005 seconds] -->
        </li>
        <li>
         <!-- Crayon Syntax Highlighter v_2.7.2_beta -->
         <div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-576866d574310012922673" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
          <div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
           <span class="crayon-title">
           </span>
           <div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
            <div class="crayon-button crayon-nums-button" title="切换是否显示行编号">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-plain-button" title="纯文本显示代码">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-wrap-button" title="切换自动换行">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-expand-button" title="点击展开代码">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-copy-button" title="复制代码">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-popup-button" title="在新窗口中显示代码">
             <div class="crayon-button-icon">
             </div>
            </div>
           </div>
          </div>
          <div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;">
          </div>
          <div class="crayon-plain-wrap">
           <textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;" wrap="soft">
            较强的 java 基础, 深入理解高并发/jvm/设计模式, 熟悉 hadoop 源码加分
           </textarea>
          </div>
          <div class="crayon-main" style="">
           <table class="crayon-table">
            <tbody>
             <tr class="crayon-row">
              <td class="crayon-nums " data-settings="show">
               <div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;">
                <div class="crayon-num" data-line="crayon-576866d574310012922673-1">
                 1
                </div>
               </div>
              </td>
              <td class="crayon-code">
               <div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
                <div class="crayon-line" id="crayon-576866d574310012922673-1">
                 较强的
                 <span class="crayon-h">
                 </span>
                 <span class="crayon-i">
                  java
                 </span>
                 <span class="crayon-h">
                 </span>
                 基础
                 <span class="crayon-sy">
                  ,
                 </span>
                 <span class="crayon-h">
                 </span>
                 深入理解高并发
                 <span class="crayon-o">
                  /
                 </span>
                 <span class="crayon-v">
                  jvm
                 </span>
                 <span class="crayon-o">
                  /
                 </span>
                 设计模式
                 <span class="crayon-sy">
                  ,
                 </span>
                 <span class="crayon-h">
                 </span>
                 熟悉
                 <span class="crayon-h">
                 </span>
                 <span class="crayon-i">
                  hadoop
                 </span>
                 <span class="crayon-h">
                 </span>
                 源码加分
                </div>
               </div>
              </td>
             </tr>
            </tbody>
           </table>
          </div>
         </div>
         <!-- [Format Time: 0.0012 seconds] -->
        </li>
        <li>
         <!-- Crayon Syntax Highlighter v_2.7.2_beta -->
         <div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-576866d574316641004753" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
          <div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
           <span class="crayon-title">
           </span>
           <div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;">
            <div class="crayon-button crayon-nums-button" title="切换是否显示行编号">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-plain-button" title="纯文本显示代码">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-wrap-button" title="切换自动换行">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-expand-button" title="点击展开代码">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-copy-button" title="复制代码">
             <div class="crayon-button-icon">
             </div>
            </div>
            <div class="crayon-button crayon-popup-button" title="在新窗口中显示代码">
             <div class="crayon-button-icon">
             </div>
            </div>
           </div>
          </div>
          <div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;">
          </div>
          <div class="crayon-plain-wrap">
           <textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;" wrap="soft">
            较强的分布式存储架构设计能力和数据建模能力，熟悉 hadoop 平台框架以及相关组件的优势、劣势，能够根据业务需要合理选择架构
           </textarea>
          </div>
          <div class="crayon-main" style="">
           <table class="crayon-table">
            <tbody>
             <tr class="crayon-row">
              <td class="crayon-nums " data-settings="show">
               <div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;">
                <div class="crayon-num" data-line="crayon-576866d574316641004753-1">
                 1
                </div>
               </div>
              </td>
              <td class="crayon-code">
               <div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;">
                <div class="crayon-line" id="crayon-576866d574316641004753-1">
                 较强的分布式存储架构设计能力和数据建模能力，熟悉
                 <span class="crayon-h">
                 </span>
                 <span class="crayon-i">
                  hadoop
                 </span>
                 <span class="crayon-h">
                 </span>
                 平台框架以及相关组件的优势、劣势，能够根据业务需要合理选择架构
                </div>
               </div>
              </td>
             </tr>
            </tbody>
           </table>
          </div>
         </div>
         <!-- [Format Time: 0.0011 seconds] -->
        </li>
       </ol>
      </div>
      <div>
       <strong>
        注：转载文章均来自于公开网络，仅供学习使用，不会用于任何商业用途，如果侵犯到原作者的权益，请您与我们联系删除或者授权事宜，联系邮箱：contact@dataunion.org。转载数盟网站文章请注明原文章作者，否则产生的任何版权纠纷与数盟无关。
       </strong>
      </div>
      <!--content_text-->
      <div class="fenxian">
       <!-- JiaThis Button BEGIN -->
       <div class="jiathis_style_32x32">
        <p class="jiathis_button_weixin">
        </p>
        <p class="jiathis_button_tsina">
        </p>
        <p class="jiathis_button_qzone">
        </p>
        <p class="jiathis_button_cqq">
        </p>
        <p class="jiathis_button_tumblr">
        </p>
        <a class="jiathis jiathis_txt jtico jtico_jiathis" href="http://www.jiathis.com/share" target="_blank">
        </a>
        <p class="jiathis_counter_style">
        </p>
       </div>
       <!-- JiaThis Button END -->
      </div>
     </article>
     <!--content-->
     <!--相关文章-->
     <div class="xianguan">
      <div class="xianguantitle">
       相关文章！
      </div>
      <ul class="pic">
       <li>
        <a href="http://dataunion.org/24632.html">
         <img src="http://dataunion.org/wp-content/uploads/2016/06/173850pfbbjnqrdd2qggkd-244x200.jpg"/>
        </a>
        <a class="link" href="http://dataunion.org/24632.html" rel="bookmark" title="大数据挖掘技术在企业创新中的应用">
         大数据挖掘技术在企业创新中的应用
        </a>
       </li>
       <li>
        <a href="http://dataunion.org/24536.html">
         <img src="http://dataunion.org/wp-content/uploads/2016/06/p23424357-300x193.jpg"/>
        </a>
        <a class="link" href="http://dataunion.org/24536.html" rel="bookmark" title="用朴素贝叶斯进行文本分类(下)">
         用朴素贝叶斯进行文本分类(下)
        </a>
       </li>
       <li>
        <a href="http://dataunion.org/24344.html">
         <img src="http://dataunion.org/wp-content/uploads/2015/01/t0101a7764665e713a0-300x199.jpg"/>
        </a>
        <a class="link" href="http://dataunion.org/24344.html" rel="bookmark" title="大数据从何而来?你不得不知道的7个数据源供应平台">
         大数据从何而来?你不得不知道的7个数据源供应平台
        </a>
       </li>
       <li>
        <a href="http://dataunion.org/24241.html">
         <img src="http://dataunion.org/wp-content/uploads/2016/05/QQ截图20160522160939-216x200.jpg"/>
        </a>
        <a class="link" href="http://dataunion.org/24241.html" rel="bookmark" title="数据挖掘在精准营销中的应用">
         数据挖掘在精准营销中的应用
        </a>
       </li>
      </ul>
     </div>
     <!--相关文章-->
     <div class="comment" id="comments">
      <!-- You can start editing here. -->
      <!-- If comments are open, but there are no comments. -->
      <div class="title">
       期待你一针见血的评论，Come on！
      </div>
      <div id="respond">
       <p>
        不用想啦，马上
        <a href="http://dataunion.org/wp-login.php?redirect_to=http%3A%2F%2Fdataunion.org%2F23453.html">
         "登录"
        </a>
        发表自已的想法.
       </p>
      </div>
     </div>
     <!-- .nav-single -->
    </div>
    <!--Container End-->
    <aside id="sitebar">
     <div class="sitebar_list2">
      <div class="wptag">
       <span class="tagtitle">
        热门标签+
       </span>
       <div class="tagg">
        <ul class="menu" id="menu-%e5%8f%8b%e6%83%85%e9%93%be%e6%8e%a5">
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1605" id="menu-item-1605">
          <a href="http://taidizh.com/">
           泰迪智慧
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20884" id="menu-item-20884">
          <a href="http://www.transwarp.cn/">
           星环科技
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3538" id="menu-item-3538">
          <a href="http://datall.org/">
           珈和遥感
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20888" id="menu-item-20888">
          <a href="http://www.chinahadoop.cn/">
           小象学院
          </a>
         </li>
        </ul>
       </div>
      </div>
     </div>
     <div class="sitebar_list">
      <div class="textwidget">
       <div align="center">
        <a href="http://study.163.com/course/courseMain.htm?courseId=991022" target="_blank">
         <img src="http://dataunion.org/wp-content/uploads/2016/03/dv.jpg"/>
        </a>
       </div>
      </div>
     </div>
     <div class="sitebar_list">
      <h4 class="sitebar_title">
       文章分类
      </h4>
      <div class="tagcloud">
       <a class="tag-link-44" href="http://dataunion.org/category/industry/demo" style="font-size: 10.204724409449pt;" title="4个话题">
        Demo展示
       </a>
       <a class="tag-link-31" href="http://dataunion.org/category/experts" style="font-size: 15.826771653543pt;" title="52个话题">
        专家团队
       </a>
       <a class="tag-link-870" href="http://dataunion.org/category/tech/ai" style="font-size: 19.795275590551pt;" title="273个话题">
        人工智能
       </a>
       <a class="tag-link-488" href="http://dataunion.org/category/%e5%8a%a0%e5%85%a5%e6%95%b0%e7%9b%9f" style="font-size: 8pt;" title="1个话题">
        加入数盟
       </a>
       <a class="tag-link-869" href="http://dataunion.org/category/tech/viz" style="font-size: 17.204724409449pt;" title="93个话题">
        可视化
       </a>
       <a class="tag-link-30" href="http://dataunion.org/category/partners" style="font-size: 10.645669291339pt;" title="5个话题">
        合作伙伴
       </a>
       <a class="tag-link-889" href="http://dataunion.org/category/parterc" style="font-size: 11.582677165354pt;" title="8个话题">
        合作会议
       </a>
       <a class="tag-link-104" href="http://dataunion.org/category/books" style="font-size: 12.96062992126pt;" title="15个话题">
        图书
       </a>
       <a class="tag-link-220" href="http://dataunion.org/category/tech/base" style="font-size: 19.850393700787pt;" title="281个话题">
        基础架构
       </a>
       <a class="tag-link-219" href="http://dataunion.org/category/tech/analysis" style="font-size: 19.409448818898pt;" title="232个话题">
        数据分析
       </a>
       <a class="tag-link-887" href="http://dataunion.org/category/tech/dm" style="font-size: 13.291338582677pt;" title="17个话题">
        数据挖掘
       </a>
       <a class="tag-link-34" href="http://dataunion.org/category/tech" style="font-size: 20.732283464567pt;" title="404个话题">
        文章
       </a>
       <a class="tag-link-1" href="http://dataunion.org/category/uncategorized" style="font-size: 22pt;" title="693个话题">
        未分类
       </a>
       <a class="tag-link-4" href="http://dataunion.org/category/events" style="font-size: 14.503937007874pt;" title="29个话题">
        活动
       </a>
       <a class="tag-link-890" href="http://dataunion.org/category/tech/%e6%b7%b1%e5%ba%a6%e5%ad%a6%e4%b9%a0" style="font-size: 10.204724409449pt;" title="4个话题">
        深度学习
       </a>
       <a class="tag-link-221" href="http://dataunion.org/category/tech/devl" style="font-size: 18.968503937008pt;" title="193个话题">
        编程语言
       </a>
       <a class="tag-link-888" href="http://dataunion.org/category/career" style="font-size: 15.661417322835pt;" title="48个话题">
        职业规划
       </a>
       <a class="tag-link-5" href="http://dataunion.org/category/jobs" style="font-size: 14.11811023622pt;" title="25个话题">
        职位
       </a>
       <a class="tag-link-871" href="http://dataunion.org/category/industry" style="font-size: 15.716535433071pt;" title="49个话题">
        行业
       </a>
       <a class="tag-link-613" href="http://dataunion.org/category/industry/case" style="font-size: 16.984251968504pt;" title="84个话题">
        行业应用
       </a>
       <a class="tag-link-885" href="http://dataunion.org/category/industry/news" style="font-size: 17.425196850394pt;" title="102个话题">
        行业资讯
       </a>
       <a class="tag-link-10" href="http://dataunion.org/category/training" style="font-size: 14.228346456693pt;" title="26个话题">
        课程
       </a>
       <a class="tag-link-16" href="http://dataunion.org/category/sources" style="font-size: 15.661417322835pt;" title="48个话题">
        资源
       </a>
      </div>
     </div>
     <div class="sitebar_list">
      <h4 class="sitebar_title">
       功能
      </h4>
      <ul>
       <li>
        <a href="http://dataunion.org/wp-login.php?action=register">
         注册
        </a>
       </li>
       <li>
        <a href="http://dataunion.org/wp-login.php">
         登录
        </a>
       </li>
       <li>
        <a href="http://dataunion.org/feed">
         文章
         <abbr title="Really Simple Syndication">
          RSS
         </abbr>
        </a>
       </li>
       <li>
        <a href="http://dataunion.org/comments/feed">
         评论
         <abbr title="Really Simple Syndication">
          RSS
         </abbr>
        </a>
       </li>
       <li>
        <a href="https://cn.wordpress.org/" title="基于WordPress，一个优美、先进的个人信息发布平台。">
         WordPress.org
        </a>
       </li>
      </ul>
     </div>
    </aside>
    <div class="clear">
    </div>
   </div>
   <!--main-->
   ﻿
   <footer id="dibu">
    <div class="about">
     <div class="right">
      <ul class="menu" id="menu-%e5%ba%95%e9%83%a8%e8%8f%9c%e5%8d%95">
       <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-18024" id="menu-item-18024">
        <a href="http://dataunion.org/category/partners">
         合作伙伴
        </a>
       </li>
       <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20881" id="menu-item-20881">
        <a href="http://dataunion.org/contribute">
         文章投稿
        </a>
       </li>
       <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-20872" id="menu-item-20872">
        <a href="http://dataunion.org/category/%e5%8a%a0%e5%85%a5%e6%95%b0%e7%9b%9f">
         加入数盟
        </a>
       </li>
       <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22441" id="menu-item-22441">
        <a href="http://dataunion.org/f-links">
         友情链接
        </a>
       </li>
       <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20874" id="menu-item-20874">
        <a href="http://dataunion.org/aboutus">
         关于数盟
        </a>
       </li>
      </ul>
      <p class="banquan">
       数盟社区        ，
        做最棒的数据科学社区
      </p>
     </div>
     <div class="left">
      <ul class="bottomlist">
       <li>
        <a href="http://weibo.com/DataScientistUnion  " target="_blank" 　title="">
         <img src="http://dataunion.org/wp-content/themes/yzipi/images/weibo.png"/>
        </a>
       </li>
       <li>
        <a class="cd-popup-trigger" href="http://dataunion.org/23453.html#0">
         <img src="http://dataunion.org/wp-content/themes/yzipi/images/weixin.png"/>
        </a>
       </li>
      </ul>
      <div class="cd-popup">
       <div class="cd-popup-container">
        <h1>
         扫描二维码,加微信公众号
        </h1>
        <img src="http://dataunion.org/wp-content/themes/yzipi/images/2014-12-06-1515289049.png"/>
        <a class="cd-popup-close" href="http://dataunion.org/23453.html">
        </a>
       </div>
       <!-- cd-popup-container -->
      </div>
      <!-- cd-popup -->
     </div>
    </div>
    <!--about-->
    <div class="bottom">
     <a href="http://dataunion.org/">
      数盟社区
     </a>
     <a href="http://www.miitbeian.gov.cn/" rel="external nofollow" target="_blank">
      京ICP备14026740号
     </a>
     联系我们：
     <a href="mailto:contact@dataunion.org" target="_blank">
      contact@dataunion.org
     </a>
     <div class="tongji">
     </div>
     <!--bottom-->
     <div class="scroll" id="scroll" style="display:none;">
      ︿
     </div>
    </div>
   </footer>
   <!--dibu-->
  </div>
 </body>
</html>